Radar Plots
An R tutorial on how to create radar plots
Data
# devtools::install_github("derekmichaelwright/agData")
library(agData)
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)Prepare Data
# Prep data
myCaption <- "derekmichaelwright.github.io/dblogr/ | Data: AGILE"
myColors <- c("darkred", "darkorange3", "darkgoldenrod2", "deeppink3",
"steelblue", "darkorchid4", "cornsilk4", "darkgreen")
myLocs <- c("Rosthern, Canada", "Sutherland, Canada",
"Bhopal, India", "Jessore, Bangladesh", "Bardiya, Nepal",
"Marchouch, Morocco", "Cordoba, Spain", "Metaponto, Italy" )
dd <- read.csv("data_radar_plots.csv") %>%
mutate(Location = factor(Location, levels = myLocs))DTF by Genotypes
# Prep data
myNames <- c("Indianhead AGL", "PI 339285 AGL",
"IG 4258 AGL", "CN 105791 AGL")#,"PI 320953 LSP AGL", "ILL 5888 AGL")
xx <- dd %>%
#select(-Cluster) %>%
group_by(Location) %>%
mutate(DTF = scales::rescale(DTF)) %>%
spread(Location, DTF) %>%
filter(Name %in% myNames) %>%
mutate(Name = factor(Name, levels = myNames)) %>%
arrange(Name)
xColors <- myColors[xx$Cluster]
xx <- xx %>% select(-Cluster)
DT::datatable(xx)# Plot
myTitle <- "Reltaive days to flower for selected lentil accessions\nfrom a lentil diversity panel accross environments"
mp <- ggradar(xx, group.colours = xColors,
plot.title = myTitle, legend.position = "bottom") +
labs(caption = myCaption)
ggsave("radar_plots_01.png", mp, width = 11, height = 10)# Prep data
xx <- dd %>%
group_by(Location) %>%
mutate(DTF = scales::rescale(DTF)) %>%
spread(Location, DTF) %>%
mutate_at(vars(-Name, -Cluster), scales::rescale) %>%
arrange(Cluster, `Rosthern, Canada`)
# PDF
pdf("radar_plots.pdf", width = 11, height = 10)
for(i in unique(xx$Name)) {
ci <- myColors[xx %>% filter(Name == i) %>% pull(Cluster)]
xi <- xx %>% filter(Name == i) %>% select(-Cluster)
mp <- ggradar(xi, group.colours = ci) + labs(caption = myCaption)
print(mp, plot.title = i)
}
dev.off()© Derek Michael Wright